'use strict';

const Service = require('egg').Service;

class ResumeTemplateService extends Service {
  /**
   * 创建模板
   */
  async createTemplate(data) {
    const { ctx } = this;

    const template = await ctx.model.ResumeTemplate.create({
      name: data.name,
      description: data.description || '',
      template_data: data.template_data,
<<<<<<< HEAD
=======
      user_id: data.user_id || null,
>>>>>>> resume
      is_active: data.is_active !== undefined ? data.is_active : 1
    });

    return template;
  }

  /**
   * 批量导入模板
   */
  async batchImportTemplates(templates) {
    const { ctx } = this;

    const results = [];
    for (const tpl of templates) {
      const template = await ctx.model.ResumeTemplate.create({
        id: tpl.id, // 使用前端定义的ID
        name: tpl.name,
        description: tpl.description || '',
        template_data: tpl, // 完整的模板对象（包括 id, name, style, modules 等）
        is_active: 1
      });
      results.push(template);
    }

    return results;
  }

  /**
   * 获取所有模板
   */
  async getTemplateList() {
    const { ctx } = this;

    const templates = await ctx.model.ResumeTemplate.findAll({
      where: { is_active: 1 },
      order: [['id', 'ASC']]
    });

    return templates;
  }

  /**
   * 获取模板详情
   */
  async getTemplateById(id) {
    const { ctx } = this;

    const template = await ctx.model.ResumeTemplate.findByPk(id);

    if (!template) {
      ctx.throw(404, '模板不存在');
    }

    return template;
  }
}

module.exports = ResumeTemplateService;

